FOR লুপ একটি ব্যাচ স্ক্রিপ্টের একটি গুরুত্বপূর্ণ উপাদান যা বিভিন্ন কাজ পুনরাবৃত্তি করতে ব্যবহার করা হয়। Windows Batch Script এ দুটি বিশেষ ধরনের FOR লুপ রয়েছে: FOR /L এবং FOR /F। এই দুটি লুপের মাধ্যমে আপনি তালিকা তৈরি, ফাইল প্রক্রিয়াকরণ এবং কাস্টম অ্যাকশন পুনরাবৃত্তি করতে পারেন।
FOR /L লুপটি মূলত একটি সংখ্যা সীমা দিয়ে নির্দিষ্ট সংখ্যক পুনরাবৃত্তি করে। এটি গাণিতিক ক্রম তৈরি করতে ব্যবহৃত হয়। এই লুপটি সাধারণত একটি স্টার্টিং ভ্যালু, একটি ইনক্রিমেন্ট এবং একটি এন্ডিং ভ্যালু নেয়।
সিনট্যাক্স:
FOR /L %%variable IN (start,step,end) DO command
যদি আপনি 1 থেকে 10 পর্যন্ত সংখ্যাগুলি প্রিন্ট করতে চান:
@echo off
FOR /L %%i IN (1,1,10) DO echo %%i
এটি 1 থেকে 10 পর্যন্ত একে একে প্রতিটি সংখ্যা আউটপুট করবে।
ব্যাখ্যা:
FOR /F লুপটি সাধারণত ফাইল, স্ট্রিং বা আউটপুট থেকে তথ্য বের করে নিয়ে কাজ করার জন্য ব্যবহৃত হয়। এই লুপটি ইনপুট থেকে এক বা একাধিক লাইনের মাধ্যমে কাজ করতে পারে। এটি এমনকি কমান্ড আউটপুট থেকেও ডেটা নিতে পারে।
সিনট্যাক্স:
FOR /F "options" %%variable IN (file) DO command
এখানে, options
দিয়ে আপনি ইনপুটের পার্সিং নির্দেশনা দিতে পারেন (যেমন ডেলিমিটার সেট করা), এবং file
একটি ফাইল বা কমান্ড আউটপুট হতে পারে।
@echo off
FOR /F "tokens=*" %%i IN (data.txt) DO echo %%i
এটি data.txt
ফাইলের প্রতিটি লাইন পড়বে এবং তা স্ক্রিনে প্রদর্শন করবে।
@echo off
FOR /F "tokens=2 delims= " %%i IN ('ipconfig') DO echo %%i
এটি ipconfig
কমান্ডের আউটপুট থেকে দ্বিতীয় টোকেন (যেমন IP ঠিকানা) নিয়ে এসে স্ক্রিনে প্রদর্শন করবে।
ব্যাখ্যা:
"tokens=2 delims= "
নির্দেশনা দেয় যে, প্রথম টোকেনের পরে স্পেস (space) ডেলিমিটার হিসেবে কাজ করবে, এবং দ্বিতীয় টোকেনটি নির্বাচন করা হবে।ipconfig
কমান্ডের আউটপুট থেকে প্রথম স্পেসের পরে যে তথ্য আসবে তা আউটপুট হবে।@echo off
FOR /F "tokens=1,2 delims=," %%a,%%b IN (file.csv) DO echo %%a %%b
এটি file.csv
ফাইলের প্রতিটি লাইনে কমা দ্বারা বিভক্ত দুটি টোকেন গ্রহণ করে এবং সেগুলিকে আউটপুট করবে।
এই লুপগুলো Batch Script এর অত্যন্ত শক্তিশালী টুল, যা পুনরাবৃত্তিমূলক কাজগুলিকে সহজ এবং দ্রুত সম্পন্ন করতে সহায়তা করে।
common.read_more